import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test {
    public static void main(String[] args) {
        // 1、输出为List
        // 此处调用工厂模式Collectors.toList()生产一个Collectors
        List<Integer> sum = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9).collect(Collectors.toList());
        System.out.println(sum);
        // 2、输出为数组
        List<String> list = List.of("Apple", "Banana", "Orange");
        String[] array = list.stream().toArray(String[]::new);
        System.out.println(Arrays.toString(array));

        // 3、输出为Map
        Stream<String> stream = Stream.of("APPL:Apple", "MSFT:Microsoft");
        Map<String, String> map = stream
                .collect(Collectors.toMap(
                        // 把元素s映射为key:
                        s -> s.substring(0, s.indexOf(':')),
                        // 把元素s映射为value:
                        s -> s.substring(s.indexOf(':') + 1)));
        System.out.println(map);
    }
}
// Collectors.toMap、toList、toSet 只决定 “最后装东西的容器形状”（Map / List / Set），完全不关心元素类型；
